﻿using BCDto.Location.Horseman;
using BCDto.TMS.Driver;
using MongoDB.Bson;
using System.Collections.Generic;

namespace BCService.TMS.Location.Horseman
{
    public interface IHorsemanLocationService
    {
        /// <summary>
        /// 当前登录骑手设置位置
        /// </summary>
        /// <param name="driver">当前登录司机设置</param>
        /// <param name="dto">位置信息</param>
        /// <returns></returns>
        HorsemanLocationBsonDto SetLocation(DriverDto driver, HorsemanLocationRequestDto dto);
        /// <summary>
        /// 获取附近几公里的骑手信息
        /// </summary>
        /// <param name="location">指定的经纬度位置</param>
        /// <param name="maxDistance">最大几公里</param>
        /// <param name="query"></param>
        /// <param name="projections"></param>
        /// <returns></returns>
        IEnumerable<HorsemanLocationBsonDto> GetGeoNearLocationsByCoordinate(double[] location, double maxDistance, List<BsonElement> query, List<BsonElement> projections);
       /// <summary>
       /// 根据车牌号获取骑手位置
       /// </summary>
       /// <param name="vehicleNo">车牌号</param>
       /// <returns></returns>
        HorsemanLocationBsonDto GetHorsemanLocationInfo(string vehicleNo);
    }
}
